package com.yjd.comm.base.control.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * <b>description</b>：http请求协议类型
 * (用在control的类或者方法上面，判断的时候先检测方法上是否有该注解，如果方法上面没有，在判断类上面是否有该注解，都没有注解的，访问将不受限制)<br>
 * <b>time</b>：2014-11-13下午1:42:23 <br>
 * <b>author</b>： ready likun_557@163.com
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.TYPE })
public @interface Protocol {

	/**
	 * <b>description</b>：协议类型 <br>
	 * <b>time</b>：2014-11-13下午1:44:31 <br>
	 * <b>author</b>： ready likun_557@163.com
	 */
	public static enum ProtocolType {
		ALL("http和https都可以"), HTTP("只允许http"), HTTPS("只允许http是请求");
		private String description;

		private ProtocolType(String description) {
			this.description = description;
		}

		public String getDescription() {
			return description;
		}
	}

	public ProtocolType[] value() default { ProtocolType.ALL };
}
